/*
 * @lc app=leetcode.cn id=977 lang=java
 *
 * [977] 有序数组的平方
 */

// @lc code=start
class Solution {
    public int[] sortedSquares(int[] nums) {
        int n = nums.length;   // 数组长度
        int[] res = new int[n]; // 结果数组

        for(int i=0, j=n-1, p=n-1; i<=j; p--){
            if(nums[i]*nums[i] > nums[j]*nums[j]){
                res[p] = nums[i]*nums[i];
                i++;
            }else{
                res[p] = nums[j]*nums[j];
                j--;
            }
        }
        return res;
    }
}
// @lc code=end

